#pragma once


#define  MATHLIB_STATIC_LIB
#define  GRAPHIC_STATIC_LIB
#define  RENDERER_STATIC_LIB

//
#ifdef MATHLIB_STATIC_LIB
	#define MATHLIB_TRANSFER
#endif
#ifndef MATHLIB_TRANSFER
	#ifdef MATHLIB_EXPORTS
		#define  MATHLIB_TRANSFER __declspec( dllexport ) 
	#else
		#define  MATHLIB_TRANSFER __declspec( dllimport )
	#endif
#endif
//
#ifdef GRAPHIC_STATIC_LIB
	#define GRAPHIC_TRANSFER
#endif
#ifndef GRAPHIC_TRANSFER
	#ifdef GRAPHIC_EXPORTS
		#define GRAPHIC_TRANSFER __declspec( dllexport ) 
	#else 
		#define GRAPHIC_TRANSFER __declspec( dllimport )
	#endif
#endif

#ifdef RENDERER_STATIC_LIB
	#define RENDERER_TRANSFER
#else
	#ifdef RENDERER_EXPORTS
		#define RENDERER_TRANSFER __declspec( dllexport ) 
	#else 
		#define RENDERER_TRANSFER __declspec( dllimport )
	#endif		
#endif	

#include <memory>
#include <cassert>

#define BEGIN_NAMESPACE_OXGE namespace oxge{
#define END_NAMESPACE_OXGE }
#define USING_NAMESPACE_OXGE using namespace oxge;
#include <iostream>
#include <vector>
#include <map>

#include <common/oxgeclass.h>


#ifndef GLEW_STATIC
#define GLEW_STATIC
#endif

#ifndef NULL
#define NULL 0;
#endif